var user=getUserEntityFromCache();

function initData() {

}

function initUI() {
    loadParterUI();
    if(parseInt(localStorage.getItem("needshowQR"))==1){
        showServerQR();//展示微信公众号二维码
    }
}

function checkParameter() {
    if(user==undefined||user==null||!user.isLogin()){//非体验课需要检查
        showAlert("对不起,没有您的授权信息");
        return false;
    }
    return true;
}

function addEvent() {
    $("#bind_mobile").click(function () {
        var state=$(this).find("#mobile_state").text();
        if(state=="未绑定"){
            window.location.href="/user/mobilebind?from_center=1";
        }
    });

    $("#attention_list").click(function () {
        if(user.isLogin()){
            window.location.href="/house/house_attention";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });

    $("#coupon_list").click(function () {
        if(user.isLogin()){
            window.location.href="/user/coupon";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });

    $("#business_info").click(function () {
        if(user.isLogin()){
            window.location.href="/user/return";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });

    $("#invite_qr").click(function () {
        if(user.isLogin()){
            window.location.href="/user/invite?m=p";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });

	
	$("#redpack").click(function () {
        if(user.isLogin()){
            window.location.href="/redpacket/list";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });
	
	$("#redpackget").click(function () {
        if(user.isLogin()){
            window.location.href="/redpacket/toget";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });
	
	
    $("#invite_user").click(function () {
        if(user.isLogin()){
            window.location.href="/user/invite?m=u";
        }
        else {
            showAlert("你还没有授权登录")
        }
    });

    $("#server_note").click(function () {
        //https://mp.weixin.qq.com/s?__biz=MzUxMDUwNDk5OQ==&mid=2247483738&idx=1&sn=8d42401efe80d71f1fa4ad928bfcd9c0&chksm=f900b812ce773104296101798aded368bb54da81d3761b36bd79355a24b13aae90cce77a9f86&scene=18#rd
        window.location.href="https://mp.weixin.qq.com/s?__biz=MzUxMDUwNDk5OQ==&mid=2247483738&idx=1&sn=8d42401efe80d71f1fa4ad928bfcd9c0&chksm=f900b812ce773104296101798aded368bb54da81d3761b36bd79355a24b13aae90cce77a9f86#rd";
    });
    
    $("#closeQR").click(function () {
        hideQRBox();
    });
}

function showServerQR() {
    showQRBox();
    localStorage.removeItem("needshowQR");
}

//显示在线报备
function showQRBox(){
    let t=getComputedStyle(document.getElementById("QR_box"),null).transitionDuration;
    $("#QR_box").addClass("show");
    $(".mask").fadeIn(t);
}

function hideQRBox(){
    let t=getComputedStyle(document.getElementById("QR_box"),null).transitionDuration;
    $("#QR_box").removeClass("show");
    $(".mask").fadeOut(t,function () {

    });
}

function loadParterUI() {
    if(user.role==0||user.role==2&&user.partnerGrade()>0){//role:0是平台级合伙人 1是正常用户 2是一级和二级合伙人
        $("#business_info").show();
        $("#invite_qr").show();
        $("#redpack").show();
        
        if(user.partnerGrade()==1){
            $("#invite_user").show();
        }
    }
    else{
        $("#business_info").hide();
        $("#invite_qr").hide();
        $("#redpack").hide();
        $("#invite_user").hide();
    }
}

function loadUserInfo() {
	
	var user_red_money = user.redpacket_money;
//	user_red_money = user_red_money.toFixed(2);
    $("#title span").text(user.nickname);
    $("#subtitle span").text("手机："+user.mobile);
    $("#redpackmoney span").text("红包余额："+user_red_money);
    
    $("#headImg").attr("src",user.avatar);

    if(user.mobile==null||user.mobile.toString()=="undefined"||user.mobile.toString().length<=0){
        $("#mobile_state").text("未绑定");
    }
    else {
        $("#mobile_state").text("已绑定");
    }
}

function getWxUserInfo() {
    getUserInfo(function (data) {
        if(data&&data.openid){
            user=new User(data.openid,data.mobile,data.nickname,data.headimgurl,data.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            user.cacheUserInfo(user.openid,user.nickname,user.mobile,user.avatar,user.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            loadUserInfo();
            loadParterUI();
        }
        else {
            showAlert(data);
        }
    });
}



function getSign(){
    $.ajax({
        type: "get",
        url: "/v1/wx-user/get-sign",
        data: {noncestr:noncestr, timestamp:timeStamp,url:window.location.href},
        dataType: "json",
        beforeSend:function(){

        },
        success: function(data){
            if(data.code=="success") {
                if (data.data != null && data.data.sign != null && data.data.sign != undefined) {
                    initWXConfig(data.data.sign);
                }
            }
            else {
                alert(data.err_msg);
            }
        },
        error: function(){
        }
    });
}


function initWXConfig(signature){
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: appId, // 必填，公众号的唯一标识，aa3ecfe3da55ba39e817d6f19f70725d
        timestamp: timeStamp, // 必填，生成签名的时间戳
        nonceStr: noncestr, // 必填，生成签名的随机串
        signature: signature,// 必填，签名，见附录1
        jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });

    wx.ready(function(){
        initWXShare();
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
    });

    wx.error(function(res){
        // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
    });

    wx.checkJsApi({
        jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
        success: function(res) {
            // 以键值对的形式返回，可用的api值true，不可用为false
            // 如：{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
        }
    });

}

function initWXShare() {
    var share_title="";
    var share_des="";
    var share_link="";
    var share_icon="";

    share_title=house_share_text;
    share_des="";
    share_link=window.location.href;
    share_icon="http://pocket.all-star.top/images/logo_small.jpg";

    wx.onMenuShareAppMessage({
        title: share_title, // 分享标题
        desc: share_des, // 分享描述
        link: share_link,
        imgUrl: share_icon,
        type: '', // 分享类型,music、video或link，不填默认为link
        dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    wx.onMenuShareTimeline({
        title: share_title, // 分享标题
        link:share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: share_icon, // 分享图标
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });
}


getSign();

$(function () {
    initData();
    initUI();
    addEvent();

    if (!user.isLogin()) {//没登录
        //微信授权回调回来
        if(code!=undefined&&code!=null&&code.length>0&&state=="pocket"){
            getWxUserInfo();
        }
        else {
            user.clearUserInfoCache();
            getUserAuthorize();
        }
    }
    else {
        if(user.mobile==null||user.mobile==undefined||user.mobile==""){
            window.location.href="/user/mobilebind";
        }
		
		
		
        //单独获取用户信息
        getUserInfoOfApp(user.uid,function (data) {
//      	console.log(data);
            user=new User(data.openid,data.mobile,data.nickname,data.headimgurl,data.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            user.cacheUserInfo(user.openid,user.nickname,user.mobile,user.avatar,user.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            loadParterUI();
            loadUserInfo();
        });
        
        
    }
});